home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 March
/
EnigmA AMIGA RUN 05 (1996)(G.R. Edizioni)(IT)[!][issue 1996-03][Skylink CD IV].iso
/
earcd
/
comm2
/
ftp-mail.lha
/
FTP-Mail
/
history.doc
< prev
next >
Wrap
Text File
|
1995-11-26
|
14KB
|
380 lines
HISTORY.DOC
Also diesmal in Deutsch... das mute ich niemandem mehr auf Englisch zu. :-)
Ein herzliches Dankeschön für die Hilfe geht an: Michael Herold, Gerhard
'Fido' Schneider (wer mal in die Mailbox schauen will: 0931/7900200 oder ftp
incubus.franken.de) Henning Schroeder, Herbert Oppmann und insbesondere Marc
Stürmer. Marc hat die Übersetzung der Dokumentation vorgenommen, mein
Englisch ist leider nicht das beste. Aber auch alle anderen, die ich hier
vergessen habe und die FTP-MAIL getestet, benutzt oder irgendwelche Fehler
gefunden haben, sei ein Dank ausgesprochen. FTP-MAIL ist auch Werk dieser
Leute.
Tja, wie ist das komplette Paket entstanden?
Ganz einfach: Im den lokalen Brettgruppen von Unterfranken (Ufra-net) wurde
eines Tages der Wunsch geäussert auch Binärbretter einzurichten.
Aber schnell wurde festgestellt, daß solche Binärbretter niemals den
Wünschen gerecht werden könnten. Also kam man auf die Idee einen Mailserver
zu schreiben. Das ist leider deswegen nötig, weil das UUCP, das wir benutzen,
keinen Austausch von Files über mehrere Rechner hinweg ermöglicht.
Also, das ganze Trumm läuft z. Zt. nur auf einem Amiga und nur im
Zusammenhang mit UUCP. Es wird hierbei besonders Gebrauch von der
Alias-Datei und vom SendMail gemacht.
0.99beta (13-Jul-1994):
Also schrieb ich innerhalb einer Woche diesen Mailserver in ARexx zusammen
und testete ihn zunächst bei mir daheim.
1.00 (15-Jul-1994):
Eigentlich immer noch beta, aber grobe Fehler sollten jetzt draußen sein.
Das Problem, daß ftpsplit mehrmals hintereinander aufgerufen werden kann und
so FTP-MAIL mehrmals gleichzeitig laufen könnte habe ich mit einem öffnen
eines Files in t: als Semaphore entgegengewirkt. Damit sollte FTP-MAIL
eigentlich mit fast jeder Anzahl an Mails fertig werden. Besonders schön ist
der Lock-Mechanismus aber nicht.
Es wird nun verhindert, daß ein gleiches HELP mehrmals gesendet wird.
Der Abbruchmechanismus wurde stark verbessert. Ich nütze jetzt die
SIGNAL-Befehle von ARexx aus. So schöne Fehlermeldungen bekommt man nichtmal
mit einem Debugger :-). Meist braucht man gar nicht mal mehr die Stelle
suchen, wo der Fehler passiert ist.
1.01 (16-Jul-1994)
Tja, grobe Fehler habe ich jetzt keine mehr gefunden. Aber ich habe den
Abbruchmechanismus weiter verbessert, so daß der User evtl. auch
automatisch erfährt warum dies und das nicht funktionierte. Auch wird nun
der Postmaster informiert, falls ein Programmfehler auftrat.
1.02 (18-Jul-1994)
Eine neue Variable wurde eingeführt: maxtransfer. --> ftp-maxtransfer.config
Jetzt starte ich FTP-MAIL von ftpsplit als ARexx-Hintergrundprozeß.
Da das ganze eigentlich keine Shell mehr hat wurde es nötig die
Fehlermeldungen nicht mehr über stdout auszugeben.
Kleine Schönheitskorrekturen der logfiles: FTP-MAIL gibt nun die Zeilenzahl
der empfangenen Mail aus. Ich überlege, ob man nicht auch die Zeilenzahl
der Mails begrenzen sollte, also daß er nach xxx Zeilen mit dem Einlesen
aufhört.
Das Lockfile aus ftpsplit entfernt - wird nicht gebraucht.
Sicherheitslücke entfernt. Bei help wird nun ein Umsetzen der Zeichen ":"
und "/" nach "-" gemacht, um zu verhindern, daß man sich aus anderen
Verzeichnissen etwas holt.
Ich überlege gerade, ob man die Uebertragungsmodes nicht als externe
Proceduraufrufe deklarieren sollte... also nach dem Motto: CALL MODUS()
hmmmm...
1.03 (19-Jul-1994)
Ein kleiner Fehler wurde behoben: Die Liste am Ende eines Help-files gab nur
20 statt 35 Zeichen aus.
Zu Testzwecken habe ich jetzt eingebaut, daß FTP-MAIL das Logfile des Users
an das eigentliche Logfile anhängt - das logfile ist zwar ganz gut, aber
besser war halt auch das des Users noch zu sehen, weil schoener.
Versionsstring angepaßt. :-)
1.04 (21-Jul-1994)
Detailverbesserungen: Start- und Endezeiten des Programms werden nun mit
ausgegeben, einige kleine Fehler ausgemerzt.
Pfade sollten nun auch relativ angeben werden können. Entsprechende Routine
eingebaut.
Userlevel eingeführt. Wie diese allerdings ausgewertet werden sollen ist
noch vollkommen offen...
Neue Pfaddateien eingeführt: Upload-Pfade und Userlevel-Pfade.
Bemerkung am Rande: Wenn das so weitergeht habe ich bald eine richtige
kleine Mailbox :-)
Einen üblen Fehler beim Einlesen der Config-Dateien gefunden. Leere Zeilen
und Kommentarzeilen wurden mit eingelesen.
1.05 (27-Jul-1994)
FTP-MAIL versteht jetzt auch mehrere Kommandos pro Zeile! Die Kommandos
werden mit "|" getrennt!
Einbau der Prüfung der Usersite. Es ist nun möglich den letzten
Received:-Header eines Postings pauschal nach vorkommen von Zeichenketten zu
durchsuchen, die in der ftp-domains-lvl<X>.config stehen (siehe dort!).
Entsprechende postings werden dann in den entsprechenden level gesetzt.
Siehe auch ftp-paths-<X>.config
Das System hat zwar so einige Schlupflöcher, aber es ist relativ sicher!
Ich habe auch den Aufrufmechanismus von FTP-MAIL über ftp-split geändert
(schon wieder). Und zwar ist er jetzt in etwa so, wie er war. Es hat
erhebliche Vorteile die Standardausgabe zu benutzen.
1.06 (14-Aug-94)
Das mit dem Received-Header ist kein gutes Konzept. Ich hab es so umgebaut,
daß jetzt die Empfängeradresse getestet wird.
Aus Sicherheitsgründen wird die Originalmail im Logfile nun mit
zurückgeschickt.
Die ganzen ".config"-files sind nun in einem eigenem Verzeichnis namens
config. der Pfad wird automatisch ergänzt.
Die Filenamenliste im Helpfile wird nun alphabetisch sortiert.
Die Liste der Helpfiles wurde optisch stark aufgepeppt. Es wird nun auch das
relative Alter des jeweiligen Helpfiles angezeigt.
Die Ausgabe dieser Liste erfolgt pro Mail nur noch maximal ein einziges Mal.
Komplette Umstellung: Die Modes sind nun eigene Shell-Scripte (im
config-Verzeichnis befindlich). D.h. man kann nun beliebig viele Modes
entwerfen, ohne das Programm zu ändern.
Aus dem Grund wurde auch das Verzeichnis INOUT eingeführt. Dieses ist
ausschließlich ein temporäres Verzeichnis zum Anlegen und Übertragen der
Daten. Weil Files sehr groß werden können ist INOUT ein Unterverzeichnis im
ftp-Verzeichnis, also auf Festplatte.
Binärfiles bekommen nun X-Header (X-Name:, X-Path:, usw...), um ein
automatisches Einsortieren zu erleichtern.
In ftp-aliases habe ich jetzt einen neuen alias eingebaut: HELPALL. Dieser
schickt alle relevanten Helpfiles. Es ist wirklich faszinierend, wie
FTP-MAIL darauf reagiert und welche Ausgaben es dabei erzeugt.
1.07 (20-Aug-1994)
So, ich habe jetzt so viel daran geändert, daß ich gar nicht mehr weiß,
was ich alles gemacht hab :).
Wichtgste Neuigkeit: Das PUT-Kommando geht jetzt! Naja, da sind sicher noch
ein paar Fehler drin. :)
Die Handhabung des <">-Zeichens bzgl. Shell-Scripts wurde jetzt eingebaut
und sollte ordentlich funktionieren.
Die Ausgabe der Original-Mail wurde verbessert und an das PUT-Kommando
angepaßt.
Fehlerhafte Mails werden nun zwar weiterhin im tmp-Verzeichnis belassen,
aber umbenannt.
Das GET-Kommando versteht nun auch absolute Pfadangaben! Ein CD vor GET ist
damit überflüssig. Diese Art von Kommandos wird in zwei Commandos (CD und
GET) aufgesplittet.
Die Ausgabe des LIST-Befehls wurde verbessert.
Und weiterhin sind zahlreiche Fehler gefunden und verbessert worden.
Der in der Anleitung beschriebene Kommando-Trenner "," (Komma) wurde
durch ";" (Strichpunkt) ersetzt.
Falls kein Kommando gesendet wird, wird automatisch auf HELPALL hingewiesen.
1.08
Die Shell-Befehle werden nun über ein Unterprogramm aufgerufen. Ist schöner.
In die Shell-Scripte wurde nun eingebaut, daß sie nicht bei Fehlern
abbrechen. Anders scheint's nicht möglich zu sein, also Fehlerabfrage ist
null. Verstehe ich nicht ganz :( Vielleicht sollte ich evtl. sogar
ARexx-Scripte daraus machen, das wäre dann wenigstens sicher.
Das PUT-Kommando arbeitet dementsprechend besser bzw. sicherer.
Es gibt nun zwei neue Befehle: NOLOGFILE und NOFILEHELP. Ersteres
unterbindet das Senden des Logfiles (außer im Fehlerfall von FTP-MAIL),
zweiteres schickt nicht mehr die Liste der verfügbaren Helpfiles in einem
Helpfile mit.
LIST, LS und DIR verstehen nun ebenfalls einen vollen Pfad als Argument.
Der ";" als Kommando-Trenner wurde nun ebenfalls abgeschafft. Es gilt jetzt
nur noch "|" (ASCII 124). Alles andere erscheint mir zu häufig z.B. im
Header oder sogar in Dateinamen. "|" kommt zwar auch manchmal vor, ist aber
schon wirklich selten.
Der MODES-Befehl schickt nun nicht nur die ftp-modes.config, sondern auch
die entsprechenden Scripte dazu.
Die X-Header im PUT-Kommando wurden angepaßt, so daß statt X-UPLOAD-PATH:
nur noch X-PATH: angegeben werden muß (Alias ist gesetzt).
Auflisten der Aliases im Logfile wurde verbessert.
Auflisten der Original-Zeile im Logfile wurde verbessert.
Einbau von time.LOG. Es wird nun protokoliert, wieviele Bytes an wen
gesendet bzw. von wem empfangen wurden.
Einen Fehler im Zusammenhang mit dem config-Verzeichnis und dem Time-LOG
ausgebügelt.
Da war noch ein Fehler, falls beim Aufrufen von externen Programmen Fehler
auftreten. Jetzt sollte FTP-MAIL in jeder denkbaren Fehlersituation
wenigstens eine Fehlermeldung verschicken können.
Die Userlevel werden nun vollständig durchsucht, auch wenn ein
entsprechender Teilstring bereits gefunden wurde. Es wurde auch ein "*"
(Joker) eingeführt. Das witzige war, daß ich gedacht habe, das würde den
ganzen Nachmittag dauern. Dabei mußte ich nur drei Zeilen ändern. :)
Es ist nun also möglich die Domains bzw. Sites und die dazugehörigen
Userlevel immer weiter zu spezifizieren.
Eingehende Mails werden jetzt auch nach Datum überprüft. Falls dieses nicht
gesetzt wurde bekommt der ftp-postmaster eine Mail. (Ich weiß, eigentlich
kann es gar nicht sein, daß eine Mail ohne Datum verschickt wird, aber es
sind nur 4 Zeilen Code.
Der Postmaster wurde umgetauft in FTP-POSTMASTER, rein aus
abgrenzugstechnischen Gründen. Man kann diesen User ja per Alias-File wieder
in postmaster umtaufen.
Beim GET-Kommando werden nun in einem X-Header in Kurzform alle wichtigen
Daten von welcher Mail dieses GET-Kommando ausging wiederholt. Mir ging
nämlich auf, daß man mit FTP-MAIL und dem NOLOGFILE-Kommando ganz wunderbare
anonyme Flames erstellen kann! :-) :-(
Ein END-Kommando wurde eingeführt: Es arbeitet so ähnlich wie PUT, der Rest
der Mail wird nämlich einfach überlesen.
Die Helpfile-Extensionen wurden nun um ".dok" erweitert.
Es gibt jetzt ein deutsches Helpfile zu FTP-MAIL.
Fehler entfernt: Der verwendete LS-Befehl enthält wohl einen üblen Fehler
beim Parsen und Ausgeben des Kommandos. Dieser wurde jetzt durch List
ersetzt, so gut das geht.
1.09, 11.10.95:
Ja, ich habe lange nichts mehr daran gemacht und diese Änderungen entstanden
nur aufgrund eines Threads in ufra.flame. Ein User hat sich über das
Verhalten von ftp-mail aufgeregt, nämlich ein GET <absoluter Pfad> in zwei
Commandos zu zerlegen. Er hat dadurch eine ganze Reihe von Files doppelt
erhalten (wenn man aber auch keine Anleitung liest, nicht wahr?). Daraufhin
bot mir jemand einen Bigmäc mit Milchshake an, damit ich das Verhalten
verbessere.
Neue Kommandos sind dazugekommen: LISTALL, DIRALL, LSALL. Listen alle
Unterverzeichnisse mit auf.
Neues Kommando SHOWDIRS.
Alle rekursiven List-Kommandos erzeugen keine Liste bei festen Pfaden in
PATHS (nur wenn * vorhanden).
LIST usw. zeigt nun auch Verzeichnisse in einem Verzeichnis, nicht nur die
Dateien.
GET sendet nun keine Dateien doppelt. Gleicher Mechanismus wie bei den
Helpfiles. Funktioniert zuverlässig.
FTP-MAIL erkennt nun auch Pfade in ftp-paths.config, die die Form
Blubb:blah/* oder Blubb:* haben. Der Stern bezeichnet hier das Jokerzeichen,
also alle darunterliegenden Pfade sind ebenfalls erlaubt. Das erlaubt eine
viel einfachere Erstellung der Pfadlisten.
Im Logfile werden die Kommentare nicht mehr gequotet.
Diverse Rechtschreibfehler entfernt (jaja, mein Englisch, ich weiß :-)...
Logfile wird nun auch an den ftp-postmaster gesendet.
Neue Routine zum einscannen des Absenders, bzw. Reply-To. Leider nötig, weil
wusel-sendmail Probleme bekommt mit Adresse der Form
<user@domain> "Hans (der Henker) Hugo"
2.0, 17.10.95
Ich habe mich entschlossen, FTP-MAIL zu veröffentlichen, weil das ganze ist
inzwischen eigentlich sehr zuverlässig und zweckmäßig. Aus dem Grunde
verbrachte ich den heutigen Nachmittag mit dem Kommentieren der Source.
Einige Textausgaben wurden etwas überarbeitet. Etwas Kosmetik bekam auch die
TIME.log.
Ein paar winzige Fehler wurden ebenfalls behoben. Darunter waren aber keine
mehr, die die Sicherheit beeinträchtigt hätten.
Aus der Routine zum einscannen der E-Mail-Adresse wurden die Teile entfernt,
die die Adresse in ein bestimmtes Format umsetzen.
Die Sachen in der TODO-Liste sind alle nicht besonders wichtig - höchstens
das automatische Splitten, aber dazu habe ich ja StripMail.rexx geschrieben...
Ich schrieb ebenfalls eine kurze Anleitung in die Installationsanleitung,
was der ftp-postmaster im Fehlerfall zu tun hat.
2.1 22.11.95
In Help eingebaut, daß keine Files angezeigt werden, die mit einem Punkt
beginnen.
Nachdem nun auch die Anleitungen nochmals überarbeitet worden sind -
insbesondere die englischen - werde ich diese Version veröffentlichen.
----------------------------------------------------------------------------
TODO:
Eine Konfigdatei, in der wichtige Einzeldinge (wie etwa maxtransfer)
eingestellt werden können.
Eine maximale Maillänge, ab der automatisch gesplittet wird.
Ein Programm um ankommende Files automatisch auseinanderzuklamüsern, zu
beschriften und einzusortieren.
User-Logfile
User <-> erhaltene Datenmengen - Time.log ist noch nicht besonders toll...
Pflegenanleitung (postmaster.doc), Fehlerfallbehandlung
Uploadpath ebenfalls mit Userlevel verbunden
Entsprechende Überarbeitung des Sendens von ftp-paths.config und
ftp-upload-paths.config
ftpsplit überarbeiten im Bezug auf das schreiben des Files (überlange
Zeilen) und starten von FTP-MAIL (einfach abschaltbar)
GET-Mail so anpassen, daß diese ohne Probleme von PUT-Kommando übernommen
werden kann.